/*
spring依赖配置很繁琐
springboot是对spring进行简化开发
原因是springboot底层有起步依赖和自动配置
springboot的原理就是起步依赖和自动装配的原理

spring要自己引入依赖很可能版本冲突而且很多麻烦
起步依赖：springboot只需要引入一个依赖即可，依靠原理是maven的依赖传递

自动配置:  spring容器启动后一些配置类bean对象就自动存入ioc容器中，不需要我们手动声明，简化开发，省去繁琐配置
原本我们只有controller，service，dao等我们手动配置的bean，现在除了这些，spring容器还将一些常用的类做成bean给我们使用

@Configuration注解的底层里有@Component
springboot的单元测试注解@springbootTest
@SpringBootApplication配置注解自带包扫描的作用，但是只能扫当前包及其子包

自动配置
1. 自动配置原理
所以我手动配置@ComponentScan来分别扫描本包和第三方包
从新扫描本包的原因是覆盖了@SpringBootApplication的扫描
这个方式很繁琐

方法二

@Import注解导入，但是一般你并不知道导入什么bean你需要什么，但是第三方知道，你只需要调用第三方给你的注解一般叫做
@Enablexxxx由第三方提供，这个注解里面封装了一个import，可以由第三方导入普通类，配置类，ImportSelector(他的接
口实现类里面会实现一个的方法会定义需要的bean类)
知道原理了，我们要思考如何运用原理实现自动配置，通过源码跟踪，springboot过于庞大，所以要通过springboot启动类开始
跟踪才方便，上面定义的springbootApplication是springboot最重要注解
@Target定义注解使用范围，类，方法等














*/